/*
 * @Description: Description
 * @Autor: Chen
 * @Date: 2020-11-05 14:50:44
 * @LastEditors: chen
 * @LastEditTime: 2021-03-12 10:16:39
 */
import { HttpClient, HttpParams } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable, map } from 'rxjs';
import { AnyJson } from './data-types/common.type';
import { ServicesModule } from './services.module';

@Injectable({
  providedIn: ServicesModule
})
export class NewsService {

  constructor(private http: HttpClient) { }
  getNewsList(params: AnyJson, body: AnyJson): Observable<AnyJson> {
    return this.http.post('/news/getNewsTitleByLid', body, { params })
      .pipe(map(res => res as AnyJson));
  }

  getNews(params: AnyJson): Observable<AnyJson> {
    return this.http.get('/news/getNewsMsgById', { params })
      .pipe(map((res) => res as AnyJson));
  }
  addNews(params: AnyJson): Observable<AnyJson> {
    return this.http.post('/news/insertNews', params)
      .pipe(map((res) => res as AnyJson));
  }
  updateNews(params: AnyJson): Observable<AnyJson> {
    return this.http.post('/news/updateNews', params)
      .pipe(map((res) => res as AnyJson));
  }

  delNews(params: AnyJson): Observable<AnyJson> {
    return this.http.get('/news/delNews', { params })
      .pipe(map((res) => res as AnyJson));
  }

  clearSortByLid(params: AnyJson): Observable<AnyJson> {
    return this.http.get('/news/clearSchSortByLid', { params })
      .pipe(map((res) => res as AnyJson));
  }

  searchNews(params: AnyJson, body: AnyJson): Observable<AnyJson> {
    return this.http.post('/news/likeNews', body, { params })
      .pipe(map(res => res as AnyJson));
  }
}
